128915008792bf076e27881a5ed7be2525c765b2,src/com/redhat/ceylon/compiler/codegen/ExpressionTransformer.java,ExpressionTransformer,transform,#IndexExpression#,1010

Before Change


        if(elementOrRange instanceof Tree.Element){
            Tree.Element element = (Element) elementOrRange;
            // let's see what types there are
            ProducedType leftType = getSupertype(access.getPrimary(), access.getUnit().getCorrespondenceDeclaration());
            ProducedType rightType = getFirstTypeArgument(leftType);
            
            // do the index

After Change


        if(elementOrRange instanceof Tree.Element){
            Tree.Element element = (Element) elementOrRange;
            // let's see what types there are
            ProducedType leftType = access.getPrimary().getTypeModel();
            if(safe)
                leftType = access.getUnit().getDefiniteType(leftType);
            ProducedType leftCorrespondenceType = leftType.getSupertype(access.getUnit().getCorrespondenceDeclaration());